-----------------------------------------------------------------
BADROOT SECURITY GROUP
WHITE PAPER
-----------------------------------------------------------------
ShFS
a cura di: demone

In determinati casi ci troviamo nella condizione di dover montare una directory remota in locale senza disporre dell'uso di samba,nfs,ftp o simili ma del solo protocollo ssh.
Partendo dal presupposto che con linux riusciamo a montare in modo trasparente quasi qualsiasi tipo di filesystem all'interno del nostro ed usarlo come se fosse in locale, a tutto pensa il kernel.

Nel caso la partizione remota derivasse da un host ssh; utilizziamo ShFS (http://shfs.sourceforge.net) che  un driver per il kernel  in formato modulare.
Scarichiamo ShFS
cd /usr/src
wget http://switch.dl.sourceforge.net/sourceforge/shfs/shfs-0.35.tar.gz
tar zxvf shfs-0.35.tar.gz
cd shfs-0.35
make
make install
modprobe shfs

il nostro kernel che sia serie 2.4 o 2.6 ha inserito il modulo necessario

Questo programma richiede l'esistenza di ssh-askpass, una utility che il pi delle volte non  presente nelle nostre distro. per averla dobbiamo scaricarlae compilarla:
cd /usr/src
wget http://www.jmknoble.net/software/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz
tar zxvf x11-ssh-askpass-1.2.4.1.tar.gz
cd x11-ssh-askpass-1.2.4.1
xmkmf
make includes
make
make install

Ora avviamo il nostro modulo in questo modo partendo dal presupposto che il tutto va eseguito da root:

#shfsmount --persistent USERSE@HOST:PATH_HOST_DIRECTORY PATH_LOCALE

spieghiamo il comando:
shfsmount  il comando per permette di montare il filesystem
--persisten  un parametro che permette di ristabilire una connessione persa
USERS  il nostro username
host  il nome della macchina che vogliamo raggiungere
:PATH_HOST_DIRECTORY opzionale, indica da qualche punto del filesystem remoto dobbiamo agganciarci
PATH_LOCALE dove viene montata la risorsa ssh all'interno del nostro filesystem.

in questo modo possiamo lavorare come se fossimo in locale su una macchina remota con la sicurezza dei dati che passano crittati attraverso ssh.

esempio pratico:
#shfsmount demone@mytux.org:/home/demone /mnt/shfs

A quersto punto ci viene richiesta una password

Password:

Se  giusta siamo dentro

non  possibile utilizzare caretteri speciali come tilda(~) o punto(.)

Smontiamo una directory

Per smontare una directory procediamo nel seguente modo:

#shfsumount PATH_LOCALE

esempio pratico:

#shfsumount /mnt/shf
